home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / pcxsee.zip / PCX_VIEW.PAS < prev    next >
Pascal/Delphi Source File  |  1991-08-23  |  4KB  |  93 lines

  1. PROGRAM PCX_VIEW;
  2.  
  3. { This program displays PCX graphic picture files in either 2, 4, 16 or 256
  4.   colors on either a CGA, EGA, MCGA or VGA graphics card. }
  5.  
  6. USES
  7.   Dos, OpString, OpCrt, OpRoot, OpCmd, OpFrame, OpWindow, OpPick, OpDir, showpcx;
  8.  
  9.   {Color set used by Directory "menu"}
  10. CONST
  11.   MenuColors : ColorSet = (
  12.     TextColor : $4E {YellowOnRed} ; TextMono : $07 {LtGrayOnBlack} ;
  13.     CtrlColor : $1E {YellowOnBlue} ; CtrlMono : $0F {WhiteOnBlack} ;
  14.     FrameColor : $4A {LtGreenOnRed} ; FrameMono : $07 {LtGrayOnBlack} ;
  15.     HeaderColor : $4F {WhiteOnRed} ; HeaderMono : $70 {BlackOnLtGray} ;
  16.     ShadowColor : $00 {BlackOnBlack} ; ShadowMono : $0F {WhiteOnBlack} ;
  17.     HighlightColor : $4F {WhiteOnRed} ; HighlightMono : $70 {BlackOnLtGray} ;
  18.     PromptColor : $30 {BlackOnCyan} ; PromptMono : $07 {LtGrayOnBlack} ;
  19.     SelPromptColor : $30 {BlackOnCyan} ; SelPromptMono : $07 {LtGrayOnBlack} ;
  20.     ProPromptColor : $30 {BlackOnCyan} ; ProPromptMono : $07 {LtGrayOnBlack} ;
  21.     FieldColor : $1E {YellowOnBlue} ; FieldMono : $07 {LtGrayOnBlack} ;
  22.     SelFieldColor : $31 {BlueOnCyan} ; SelFieldMono : $0F {WhiteOnBlack} ;
  23.     ProFieldColor : $17 {LtGrayOnBlue} ; ProFieldMono : $07 {LtGrayOnBlack} ;
  24.     ScrollBarColor : $13 {CyanOnBlue} ; ScrollBarMono : $07 {LtGrayOnBlack} ;
  25.     SliderColor : $13 {CyanOnBlue} ; SliderMono : $0F {WhiteOnBlack} ;
  26.     HotSpotColor : $30 {BlackOnCyan} ; HotSpotMono : $70 {BlackOnLtGray} ;
  27.     BlockColor : $3E {YellowOnCyan} ; BlockMono : $0F {WhiteOnBlack} ;
  28.     MarkerColor : $5F {WhiteOnMagenta} ; MarkerMono : $70 {BlackOnLtGray} ;
  29.     DelimColor : $31 {BlueOnCyan} ; DelimMono : $0F {WhiteOnBlack} ;
  30.     SelDelimColor : $31 {BlueOnCyan} ; SelDelimMono : $0F {WhiteOnBlack} ;
  31.     ProDelimColor : $31 {BlueOnCyan} ; ProDelimMono : $0F {WhiteOnBlack} ;
  32.     SelItemColor : $7A {LtGreenOnLtGray} ; SelItemMono : $70 {BlackOnLtGray} ;
  33.     ProItemColor : $47 {LtGrayOnRed} ; ProItemMono : $07 {LtGrayOnBlack} ;
  34.     HighItemColor : $4F {WhiteOnRed} ; HighItemMono : $0F {WhiteOnBlack} ;
  35.     AltItemColor : $4F {WhiteOnRed} ; AltItemMono : $0F {WhiteOnBlack} ;
  36.     AltSelItemColor : $3F {WhiteOnCyan} ; AltSelItemMono : $70 {BlackOnLtGray} ;
  37.     FlexAHelpColor : $4F {WhiteOnRed} ; FlexAHelpMono : $0F {WhiteOnBlack} ;
  38.     FlexBHelpColor : $4F {WhiteOnRed} ; FlexBHelpMono : $0F {WhiteOnBlack} ;
  39.     FlexCHelpColor : $1B {LtCyanOnBlue} ; FlexCHelpMono : $70 {BlackOnLtGray} ;
  40.     UnselXrefColor : $1E {YellowOnBlue} ; UnselXrefMono : $09 {LtBlueOnBlack} ;
  41.     SelXrefColor : $5F {WhiteOnMagenta} ; SelXrefMono : $70 {BlackOnLtGray} ;
  42.     MouseColor : $4F {WhiteOnRed} ; MouseMono : $70 {BlackOnLtGray}
  43.     );
  44.  
  45. VAR
  46.   Dir : DirList;
  47.   Finished : Boolean;
  48. BEGIN
  49.   TextMode(co80);                 { start in 25 x 80 text mode }
  50.  
  51.   IF NOT Dir.InitCustom(25, 5, 55, 20, {Window coordinates}
  52.                         MenuColors, {ColorSet}
  53.                         DefWindowOptions OR wBordered, {Window options}
  54.                         MaxAvail, {Heap space for files}
  55.                         PickVertical, {Pick orientation}
  56.                         SingleFile) {Command handler}
  57.   THEN BEGIN
  58.     WriteLn('Failed to Init DirList,  Status = ', InitStatus);
  59.     Halt;
  60.   END;
  61.   {Set desired DirList features}
  62.   Dir.SetPosLimits(1, 1, ScreenWidth, ScreenHeight-1);
  63.   Dir.SetPadSize(1, 1);
  64.   Dir.diOptionsOn(diOptimizeSize);
  65.   Dir.AddMaskHeader(True, 1, 30, heTC);
  66.   Dir.SetSortOrder(SortName);
  67.   Dir.SetNameSizeTimeFormat('<dir>', 'Mm/dd/yy', 'Hh:mmt');
  68.   Dir.SetMask('*.PCX', AnyFile);
  69.   {Pick a file}
  70.   Finished := False;
  71.   REPEAT
  72.     Dir.Process;
  73.     CASE Dir.GetLastCommand OF
  74.       ccSelect :
  75.         BEGIN
  76.           ShowPicture(Dir.GetSelectedPath);
  77.           Dir.wFrame.Draw;
  78.         END;
  79.       ccError :
  80.         BEGIN                     {!!.01}
  81.           FastWrite('Error '+Long2Str(Dir.GetLastError),
  82.                     ScreenHeight, 1, TextAttr);
  83.           Finished := True;       {!!.01}
  84.         END;                      {!!.01}
  85.       ccQuit :
  86.         Finished := True;
  87.       {Process other exit commands}
  88.     END;
  89.   UNTIL Finished;
  90.   Dir.Done;
  91.  
  92. END.
  93.